package barsbieres;

import java.util.ArrayList;
import java.util.List;

import commandes.Commande;

public class Fournisseur {

	private static Fournisseur fournisseur;

	private List<Biere> catalogue;

	private Fournisseur() {
		catalogue = new ArrayList<>();
	}

	public static Fournisseur getInstance() {
		if (fournisseur == null)
			fournisseur = new Fournisseur();
		return fournisseur;
	}

	public List<String> getCatalogue() {
		List<String> catalogueStr = new ArrayList<String>();
		for (Biere biere : this.catalogue)
			catalogueStr.add(biere.getNom());
		return catalogueStr;
	}

	public void setCatalogue(List<Biere> catalogue) {
		this.catalogue = catalogue;
	}

	public Double getPrix(String nomBiere) {
		Biere biere = getBiere(nomBiere);
		if (biere != null)
			return biere.getPrix();
		return null;
	}

	public List<Fut> commander(Commande commande) {
		return commander(commande.getBiere().getNom(), commande.getQuantite());
	}

	public List<Fut> commander(String nomBiere, int quantite) {
		List<Fut> futs = new ArrayList<Fut>();
		for (int i = 1; i <= quantite / Fut.CAPACITE; i++)
			futs.add(new Fut(getBiere(nomBiere)));
		return futs;
	}

	public Biere getBiere(String nomBiere) {
		for (Biere biere : this.catalogue)
			if (biere.getNom().equals(nomBiere))
				return biere;
		return null;
	}

}
